<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>random_sample_n</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">C++ Algorithms</a> &gt; <a href=
    "random_sample_n.html">random_sample_n</a>
  </div>

  <div class="name-format">
    random_sample_n
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  #include &lt;algorithm&gt;
  iterator random_sample_n( iterator start, iterator end, iterator result, size_t N );
  iterator random_sample_n( iterator start, iterator end, iterator result, size_t N, RandomNumberGenerator&amp; rnd );
</pre>

  <p>The random_sample_n() algorithm randomly copies <em>N</em>
  elements from [<em>start</em>,<em>end</em>) to <em>result</em>.
  Elements are chosen with uniform probability and elements from the
  input range will appear at most once in the output range.
  <strong>Element order is preserved</strong> from the input range to
  the output range.</p>

  <p>If a random number generator function object <em>rnd</em> is
  supplied, then it will be used instead of an internal random number
  generator.</p>

  <p>The return value of random_sample_n() is an iterator to the end of
  the output range.</p>

  <p>random_sample_n() runs in <a href="../complexity.html">linear
  time</a>.</p>

  <div class="related-name-format">
    Related topics:
  </div>

  <div class="related-content">
    <a href="next_permutation.html">next_permutation</a><br>
    <a href="prev_permutation.html">prev_permutation</a><br>
    <a href="random_sample.html">random_sample</a><br>
    <a href="random_shuffle.html">random_shuffle</a>
  </div>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
